package br.org.acessobrasil.portal.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

import br.org.acessobrasil.portal.modelo.Arquivo;
import br.org.acessobrasil.portal.modelo.Conteudo;
import br.org.acessobrasil.portal.modelo.ConteudoFormatado;
import br.org.acessobrasil.portal.modelo.Formato;
import br.org.acessobrasil.portal.modelo.InformacaoTipoConteudo;
import br.org.acessobrasil.portal.modelo.ItemConteudo;
import br.org.acessobrasil.portal.modelo.ItemMenu;
import br.org.acessobrasil.portal.modelo.Menu;
import br.org.acessobrasil.portal.modelo.PadraoApresentacao;
import br.org.acessobrasil.portal.modelo.Pagina;
import br.org.acessobrasil.portal.modelo.Perfil;
import br.org.acessobrasil.portal.modelo.PerfilAcao;
import br.org.acessobrasil.portal.modelo.Setor;
import br.org.acessobrasil.portal.modelo.Sitio;
import br.org.acessobrasil.portal.modelo.TipoConteudo;
import br.org.acessobrasil.portal.modelo.Usuario;
/**
 * 
 * @author Renato Nati
 * @deprecated
 */
public class HibernateFactory {
	private static final boolean USAR_HIBERNATE = false;
	private static SessionFactory factory;
	private static Session session;
	static {
		if(USAR_HIBERNATE){
			AnnotationConfiguration cfg = new AnnotationConfiguration();
			cfg.addAnnotatedClass(Arquivo.class);
			cfg.addAnnotatedClass(Conteudo.class);
			cfg.addAnnotatedClass(TipoConteudo.class);
			cfg.addAnnotatedClass(InformacaoTipoConteudo.class);
			cfg.addAnnotatedClass(ItemConteudo.class);
			cfg.addAnnotatedClass(ConteudoFormatado.class);
			cfg.addAnnotatedClass(Formato.class);
			cfg.addAnnotatedClass(Setor.class);
			cfg.addAnnotatedClass(Perfil.class);
			cfg.addAnnotatedClass(Usuario.class);
			cfg.addAnnotatedClass(ItemMenu.class);
			cfg.addAnnotatedClass(Pagina.class);
			cfg.addAnnotatedClass(Sitio.class);
			cfg.addAnnotatedClass(Menu.class);
			cfg.addAnnotatedClass(PadraoApresentacao.class);
			cfg.addAnnotatedClass(PerfilAcao.class);
			factory = cfg.buildSessionFactory();
			session=factory.openSession();
		}
	}
	
	public Session getSession() {
		if(!session.isConnected()) {
			session=factory.openSession();
		}
		return session;
	}
}